package com.dwy2002.room.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dwy2002.common.Result;
import com.dwy2002.pojo.dto.rooms.RoomImagesDTO;
import com.dwy2002.pojo.po.rooms.RoomImages;
import com.dwy2002.pojo.vo.UploadImagesVO;
import com.dwy2002.pojo.vo.rooms.RoomImageVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/03/01
 */
public interface IRoomImagesService extends IService<RoomImages> {
    /**
     * @param image 包间图片接收类
     * @return true: 插入成功 false:插入失败
     * @author 杜伟毅
     * @since 2025/3/1 0001 0:44
     */
    Boolean saveRoomImage(RoomImagesDTO image);

    /**
     * 删除包间图片
     *
     * @param roomIds 包间id集合
     * @author 杜伟毅
     * @since 2025/3/2 0002 15:28
     */
    void deleteBathImage(List<String> roomIds);

    /**
     * 根据图片id删除
     *
     * @param imgId 图片id
     * @author 杜伟毅
     * @since 2025/5/7 0007 13:29
     */
    Result<Void> deleteImage(String imgId);

    /**
     * 获取包间图片集合
     *
     * @param id 包间
     * @author 杜伟毅
     * @since 2025/5/5 0005 13:40
     */
    List<RoomImageVO> getRoomImages(String id);

    /**
     * 用于上传包间图片
     *
     * @param images 图片文件
     * @author 杜伟毅
     * @since 2025/1/26 0026 16:25
     */
    Result<List<UploadImagesVO>> uploadRoomsImages(List<MultipartFile> images) throws IOException;
}
